<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>计算属性语法</title>
  <!-- 引入vue -->
  <script src="../js/vue.js"></script>
</head>

<!-- 
    计算属性会进行缓存只有当其依赖data中的数据改变的时候才会重新计算

    当计算属性修改的时候会触发set方法
 -->

<body>
  <div id="root">
    姓:<input type="text" v-model="firstName">
    名:<input type="text" v-model="lastName">
    全名: <span>{{fullName}}</span>
    全名: <span>{{fullName}}</span>
    全名: <span>{{fullName}}</span>
    全名: <span>{{fullName}}</span>
  </div>

  <script type="text/javascript">
    // 阻止vue启动的时候产生生产提示
    Vue.config.productionTip = false;

    // 创建Vue实例
    new Vue({
      el: '#root',
      data: {
        firstName: '张',
        lastName: '三'
      },
      computed: {
        fullName: {
          get() {
            console.log('执行了get函数', this);
            return this.firstName + '-' + this.lastName
          },
          set(newValue) {
            console.log('执行了set函数', newValue);
          }
        }
      }
    })
  </script>
</body>

</html>